# Mario DNS tool

[![Download Mario DNS tool](https://a.fsdn.com/con/app/sf-download-button)](https://sourceforge.net/projects/mario-dns/files/latest/download)

Example instance: [dns.acetone.i2p](http://dns.acetone.i2p).

Tool for resolving domain names with web interface and API. Meshname / meship supported.

C++, Qt5.

### For what?

The main use of the tool is to translate IPv6 addresses to meship domains for use in services without IPv6 support. Meship (and meshname) domains are resolved by [meshnamed](https://github.com/zhoreeq/meshname).

Also, the tool can be used as a supplement to projects that need to resolve domain names to addresses with simple API. Mario DNS provides API with output in JSON format:

```
# Request:
/api/toConverting=dns.acetone.ygg

# Answer:
{
    "status": true,
    "answer": [
        "324:71e:281a:9ed3::53"
    ]
}
```

You can use `version` request for version information.


### How to start

Pass address and port to bind via parameters: 

```
./mario-dns 192.168.0.1 5000
```

Several options are supported, which must be specified after the port:

- `--no-api` disable API access (only HTML mode for web browser);
- `--no-http` disable HTTP access (only API mode);
- `--no-resolve` disable DNS resolving (only meship domains);
- `--no-favicon` disable web page favicon (-14KB).